1. Technical Field
The present invention generally relates to computer systems, specifically to a method of presenting information that is retrieved across a network, such as the Internet, and more particularly to a method of setting environmental attributes of a graphical user interface provided by a browser program.
2. Description of Related Art
A generalized client-server computing network 2 is shown in FIG. 1. Network 2 has several nodes or servers 4, 6, 8 and 10 which are interconnected, either directly to each other or indirectly through one of the other servers. Each server is essentially a stand-alone computer system (having one or more processors, memory devices, and communications devices), but has been adapted (programmed) for one primary purpose, that of providing information to individual users at another set of nodes, or workstation clients 12. A client is a member of a class or group of computers or computer systems that uses the services of another class or group to which it is not related. Clients 12 can also be stand-alone computer systems (like personal computers, or PCs), or xe2x80x9cdumberxe2x80x9d systems adapted for limited use with network 2 (like network computers, or NCs). A single, physical computer can act as both a server and a client, although this implementation occurs infrequently.
The information provided by a server can be in the form of programs which run locally on a given client 12, or in the form of data such as files that are used by other programs. Users can also communicate with each other in real-time as well as by delayed file delivery, i.e., users connected to the same server can all communicate with each other without the need for the network 2, and users at different servers, such as servers 4 and 6, can communicate with each other via network 2. The network can be local in nature, or can be further connected to other systems (not shown) as indicated with servers 8 and 10.
The construction of network 2 is also generally applicable to the Internet. In the context of a computer network such as the Internet, a client is a process (i.e., a program or task) that requests a service which is provided by another program. The client process uses the requested service without having to xe2x80x9cknowxe2x80x9d any working details about the other program or the service itself. Based upon requests by the user, a server presents filtered electronic information to the user as server responses to the client process.
Conventional protocols and services have been established for the Internet which allow the transfer of various types of information, including electronic mail via simple mail transfer protocol (SMTP), basic file transfers via FTP (file transfer protocol), remote computing via Telnet, xe2x80x9cgopherxe2x80x9d searching, Usenet newsgroups, and hypertext file delivery and multimedia streaming via the World Wide Web (WWW). A given server can be dedicated to performing one of these operations, or running multiple services. Internet services are typically accessed by specifying a unique address, or universal resource locator (URL). The URL has two basic components, the protocol to be used, and the object pathname. For example, the URL xe2x80x9chttp://www.uspto.govxe2x80x9d (home page for the United States Patent and Trademark Office) specifies a hypertext transfer protocol (xe2x80x9chttpxe2x80x9d) and a pathname of the server (xe2x80x9cwww.uspto.govxe2x80x9d). The server name is associated with a unique numeric value (a TCP/IP address, or xe2x80x9cdomainxe2x80x9d).
The present invention relates to the presentation of computer files that are distributed on a network like the Internet, but is particularly applicable to the WWW, which provides files that are conveniently linked for user access. For example, as illustrated in FIG. 2, a group 14 of files or pages 16a-16h are interrelated by providing hypertext links in each of the files (group 14 may thus be considered a typical xe2x80x9cweb sitexe2x80x9d). A hypertext link is an image that is viewable on the workstation""s display 18, which can be selected by the user (e.g., using a pointing device or xe2x80x9cmousexe2x80x9d) and which then automatically instructs client workstation 12 to request another page associated with that particular hypertext link (i.e., issue another URL). A hypertext link may appear as a picture, or as a word or sentence, possibly underlined or otherwise accentuated to indicate that it is a link and not just normal, informative text.
A WWW page may have text, graphic (still) images, and even multimedia objects such as sound recordings or moving video clips. A hypertext page, if more than just text, is usually constructed by loading several separate files, e.g., the hypertext file xe2x80x9cmain.htmlxe2x80x9d might include a reference to a graphic image file xe2x80x9cpicture.gifxe2x80x9d or to a sound file xe2x80x9cbeep.wavxe2x80x9d . When a client workstation 12 sends a request to a server for a page, such as page 16a, the server first transmits (at least partially) the main hypertext file associated with the page, and then loads, either sequentially or simultaneously, the other files associated with the page. A given file may be transmitted as several separate pieces via TCP/IP protocol. The constructed page is then displayed on the workstation monitor 18 as shown in FIG. 2. A page may be xe2x80x9clargerxe2x80x9d than the physical size of the monitor screen (i.e., larger than the software-programmed xe2x80x9cwindowxe2x80x9d provided for viewing the page), and techniques such as scroll bars are used by the viewing software (the web browser) to view different portions of the page.
Web pages use field-based languages such as the hypertext markup language (HTML). This language provides a protocol for transmitting formatted information and control codes used to construct the xe2x80x9ccompletexe2x80x9d page that is ultimately displayed by the browser. Different fields within the main HTML file are defined to store the formatted information and control code-parameters, using tags. Tags not only mark elements, such as text and graphics, but can also be used to construct graphical user interfaces within the web page (such as buttons that are xe2x80x9cdepressedxe2x80x9d by selecting them using the graphical pointer). In HTML, a tag is a pair of angle brackets ( less than  greater than ) that contain one or more letters and numbers between the angle brackets. One pair of angle brackets is often placed before an element, and another pair placed after, to indicate where the element begins and ends. For the language xe2x80x9c less than B greater than TODAY ONLY less than B greater than xe2x80x9d uses the xe2x80x9cBxe2x80x9d tag to provide a boldface formatting code for the words xe2x80x9cTODAY ONLY.xe2x80x9d
Web browsers can be adjusted in various ways to provide different presentation effects for web pages. For example, different default fonts may be selected for displaying alphanumeric characters, and different color schemes may be selected for displaying different page elements, such as plain text versus hypertext links. Audio features may be adjusted as well.
There are many other browser parameters which affect the presentation in less direct ways. One example involves the use of xe2x80x9ccookies.xe2x80x9d A cookie is an identifier (e.g., a number) that is stored locally on the user""s workstation, and is used to identify the workstation to a web site. In this manner, the web site can customize the content or arrangement of a web page based on the particular user. In other words, different workstations having different cookies can present the xe2x80x9csamexe2x80x9d web page in different forms.
A similar feature which may be adjusted is the use of java, or javascript. Java is an object-oriented programming language, and is used to program small applications (applets) for web pages, greatly enhancing presentation. Javascript is a scripting language used to design a set of instructions (commands), which may be used by a web browser. Javascript, while somewhat related to java, is not an object-oriented language. Javascript complements java by exposing useful properties of java applets to script authors. Many web browsers allow the user to selectively enable java or javascript
As mentioned above, some HTML pages include references to other HTML pages by using a special HTML tag referred to as a link. Hypertext links provide a convenient method for reaching additional informational material, and they may be used in documents other than web pages. In particular, electronic mail (e-mail) messages may be created, using an HTML editor, which also have embedded hypertext links. The e-mail viewer is programmed to automatically open the web browser and pass on the web address when the user selects the link within the e-mail message (typically by clicking on the link using the mouse). In this manner, the sender of the e-mail message can immediately direct the message recipient to a desired web page.
When a user sends an e-mail message with an embedded link, however, there is no guarantee that the particular web site will be presented to the message recipient in the same fashion as it is perceived by the sender. Differences may easily arise due to the recipient having environmental browser settings which are different from those used by the sender to view the same page. These differences may be only slight, or very significant. For example, the recipient""s browser may provide a default color scheme which would present plain text in the same color as the background color for the web page, making the text completely indiscernible. Critical document elements might be totally omitted if cookie or java options are not properly set. It would, therefore, be desirable to provide a method of allowing a sender of an e-mail message to specify which, if any, presentation attributes are to be associated with an embedded link. It would be further advantageous if the method could provide the message recipient with the ability to further adjust or override these settings.
It is therefore one object of the present invention to provide an improved method of presenting information on a computer system.
It is another object of the present invention to provide such a method which customizes environmental attributes of a graphical user interface provided by a browser program.
It is yet another object of the present invention to provide such a method which allows custom environmental attributes of a browser to be specified for any particular document link that is referenced in another document.
The foregoing objects are achieved in a method of electronically conveying information, generally comprising the steps of composing a first electronic document having at least one selectable link embedded therein (wherein the link provides an address of a second electronic document), selecting the link using a graphical user interface of a computer system, and presenting the second electronic document at the computer system using at least one presentation attribute associated with the link. In the illustrative embodiment, the composing is performed by the sender of an electronic mail (e-mail) message at a remote node of a network, and the first electronic document is transmitted across the network from the node to the computer system. The graphical user interface includes a graphical pointer controlled by a graphical pointing device of the computer system, and the selecting step is performed by displaying the link on a monitor of the computer system using viewing software, and actuating the graphical pointing device while the graphical pointer is held over the link on the monitor. The link may be for a hypertext page on the World Wide Web, so presentation of the second electronic document can be accomplished using a web browser. The presentation attribute may be associated with the link by capturing a current setting of the presentation attribute, or by specifying a custom setting for the presentation attribute. The recipient of the message has the ability to selectively override sender-defined attributes.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.